package monster.flight.admin.manager.service.xtgl;

import java.util.List;
import java.util.Map;

import monster.comm.exception.InvalidParameterException;
import monster.flight.admin.vo.xtgl.Role_Meun_TreeVO;
import monster.flight.comm.entity.vo.Xt_men;
import monster.flight.comm.entity.vo.Xt_role;
import monster.flight.comm.entity.vo.Xt_rolmen;

/**
 * 
* 创建信息=============
* 类名: monster.flight.manager.service.admin.xtgl.RoleService
* 类作用描述: 此类处理系统角色信息
* 创建人： jzk 
* 创建时间： 2013-1-9 上午12:56:48
* 修改信息1=============
* 修改类型:     //1.修改bug 2.业务变化修改
* 修改描述: 
* 修改人：  
* 修改时间：
 */
public interface RoleService {
	/**
	 * 
	*@Description: 新增角色
	*@param xt_role
	*@throws Exception  
	*@return void 
	 */
	public void insert(Xt_role xt_role)throws Exception;
	/**
	*@Description: 根据主键修改角色
	*@param xt_role
	*@throws Exception  
	*@return void    
	 */
	public void update(Xt_role xt_role)throws Exception;
	/**
	*@Description: 删除角色以及角色下的菜单
	*@param role_code
	*@throws Exception  
	*@return void    
	 */
	public void deleteRoleAndRoleMen(String role_code)throws Exception;
	/**
	 * 
	*@Description: 角色分页查询
	*@param map
	*@throws Exception  
	*@return List<Xt_role>    
	 */
	public List<Xt_role> selectPage(Map<String,Object> map)throws Exception;
	/**
	*@Description: 查询分页总数
	*@param xt_role
	*@throws Exception  
	*@return int
	 */
	public int getRowCount(Xt_role xt_role)throws Exception;
	/**
	*@Description: 根据主键获得角色
	*@param role_code
	*@throws Exception  
	*@return Xt_role    
	 */
	public Xt_role getRoleByID(String role_code)throws Exception;
	/**
	 * 
	*@Description: 根据role_code获得角色菜单
	*@param role_code
	*@throws Exception  
	*@return List<Xt_rolmen>    
	 */
	public List<Xt_rolmen> getRolemenByRoleCode(String role_code)throws Exception;
	/**
	 * 
	*@Description: 获得所有菜单
	*@throws Exception  
	*@return List<Xt_rolmen>    
	 */
	public List<Xt_men> getAllMenu()throws Exception;
	/**
	*@Description: 保存角色菜单
	*@param role_code,men_sns
	*@throws Exception  
	*@return void    
	 */
	public void  saveRolemen(String role_code,String [] men_sns)throws Exception;
	/**
	 * 
	*@Description: 判断role_code是否存在
	*@param role_code
	*@throws Exception  
	*@return boolean  true 存在 false不存在  
	 */
	public boolean checkRoleCode(String role_code)throws Exception;
	
	public List<Role_Meun_TreeVO> getRole_menu_tree(Role_Meun_TreeVO tree_po)throws InvalidParameterException, Exception;
}
